package service

import (
	"fmt"
	"go_cms/app/dao"
	"go_cms/app/model"
	"go_cms/app/param"
	"go_cms/utils"
)

// 服务提供层
type UserService struct {

}


func (this *UserService)Login(name, password string) (*model.TokenUser) {
	// 根据用户名和密码查询用户信息
	ud:= dao.UserDao{utils.DbEngin}

	if utils.Debug {
		fmt.Println("userservice.go 22 :",name,password)
	}
	user:=ud.Query(name,password)
	if user.Id != 0 {
		return user
	}
	return nil
}

// 获取用户详细信息 /users/:uid
func (this *UserService) QueryUsersById(id string) *param.UsersInfo {
	ud:= dao.UserDao{utils.DbEngin}
	return ud.QueryUsersById(id)
}

// 根据id删除用户 /users/:uid
func (this *UserService) DeleteUsersById(id string) {
	ud:= dao.UserDao{utils.DbEngin}
	ud.DeleteUserById(id)
}

// 获取用户详细信息 /role/:uid/menu
func (this *UserService) RoleMenu(id string) []*param.Menu {
	ud:= dao.UserDao{utils.DbEngin}

	return ud.RoleMenu(id)
}

// 获取用户列表信息
func (this *UserService) UsersList(queryInfo param.QueryUserInfo) ([]*param.Users, int64){
	sd:= dao.SystemDao{utils.DbEngin}
	return sd.UsersList(queryInfo)
}

// 获取角色列表信息
func (this *UserService) RoleList() ([]*param.Role, int64){
	sd:= dao.SystemDao{utils.DbEngin}
	return sd.RoleList()
}

// 获取菜单列表信息
func (this *UserService) MenuList() ([]*param.Menu, int64){
	sd:= dao.SystemDao{utils.DbEngin}
	return sd.MenuList()
}

// 获取部门列表信息
func (this *UserService) DepartmentList(queryInfo param.QueryUserInfo) ([]*param.Department, int64){
	sd:= dao.SystemDao{utils.DbEngin}
	return sd.DepartmentList(queryInfo)
}

// 新建用户
func (this *UserService) CreateUser(param param.Users) {
	sd:= dao.SystemDao{utils.DbEngin}
	sd.CreateUser(param)
}

// 更新用户信息
func (this *UserService) UpdateUser(uid string,params param.Users) {
	sd:= dao.SystemDao{utils.DbEngin}
	sd.UpdateUser(uid,params)
}

// 新建角色
func (this *UserService) CreateRole(param param.Role) {
	sd:= dao.SystemDao{utils.DbEngin}
	sd.CreateRole(param)
}

// 更新角色权限
func (this *UserService) UpdateRole(uid string,params param.Role) {
	sd:= dao.SystemDao{utils.DbEngin}
	sd.UpdateRole(uid,params)
}